package com.skivingcloud.admin.sys.service;

import java.util.List;

/**
 * @author hushouquan
 * @since 2024/1/11
 */
public interface GenerateIDUtil{
    /**
     * 生成单个简单的分布式唯一ID
     * @param key 业务标识key
     * @param type 1-key+20位数字，2-key+YYYY+20位数字，3-key+YYYYMM+20位数字，
     *             4-key+YYYYMMDD+20位数字，。。。。。
     * @param length 长度,2-20
     * @return 分布式唯一id
     */
    String generateId(String key, String type, int length);
    
    /**
     * 批量生成简单的分布式唯一ID
     * @param key 业务标识key
     * @param type 1-key+20位数字，2-key+YYYY+20位数字，3-key+YYYYMM+20位数字，
     *             4-key+YYYYMMDD+20位数字，。。。。。
     * @param counts 数量
     * @param length 长度,2-20
     * @return 分布式唯一id
     */
    List<String> generateIdBatch(String key, String type, int counts, int length);
}
